home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zj.d64 / txt.names < prev    next >
Text File  |  2007-03-01  |  3KB  |  144 lines

  1. ╚╔─┼ ┴╬─ ╥┼╓┼┴╠ ╬┴═┼╙
  2.  
  3. BY ─ICK ╦LINGENS
  4. ─UTCH ├╧═┴╠ ╒SERS ╟ROUP
  5.  
  6. ├╧═┴╠ WAS DEVELOPED FOR EDUCATIONAL
  7. PURPOSES IN THE FIRST PLACE: TEACHING
  8. PROGRAMMING, INTRODUCTION TO
  9. STRUCTURED PROBLEM SOLVING. ╚OWEVER,
  10. EVEN WITH ├╧═┴╠ THE FIRST LESSON IN
  11. PROGRAMMING MUST BE AS SIMPLE AS
  12. POSSIBLE. ╔ THINK THAT IS WHY ┬ORGE
  13. ├HRISTENSEN, FOUNDER OF ├╧═┴╠,
  14. DEVELOPED SUCH A PROGRAMMING
  15. ENVIRONMENT AS CAN BE FOUND IN HIS
  16. PROGRAM ╥OD THE ╥OADMAN.
  17.  
  18. ╘HE STUDENTS PROGRAMMING ENVIRONMENT
  19. IS CREATED IN ├╧═┴╠: IT IS ╥OD'S
  20. UNIVERSE AS ╠EN CALLED IT IN ├╧═┴╠
  21. ╘╧─┴┘ #9. ╧NLY A FEW COMMANDS ARE
  22. AVAILABLE
  23.  
  24.  MOVE
  25.  RT
  26.  LT
  27.  PUTBEEP
  28.  PICKBEEP
  29.  
  30. BUT THE STUDENT CAN DO A LOT, EVEN
  31. CREATE HIS OWN COMPLEX COMMANDS TO
  32. GIVE TO ╥OD.
  33.  
  34. ├REATING SUCH COMMANDS, ╔ PREFER THE
  35. WORD PROCESS IN THIS CASE IN STEAD OF
  36. PROCEDURE, IS A VERY INSTRUCTIVE WAY
  37. TO INTRODUCE STRUCTURED PROGRAMMING.
  38.  
  39. ╧F COURSE THE PROGRAMMING ENVIRONMENT
  40. HAS BEEN HIDDEN FOR THE STUDENT. ╚E
  41. DOES NOT HAVE TO KNOW HOW THE PROGRAM
  42. ITSELF WORKS, ONLY HOW HIS OWN
  43. PROCESSES.
  44.  
  45. ╠EN POINTED OUT THAT THE
  46. ╨╥╧├.╙╚╧╫╬┴═┼╙ IS VERY HELPFULL TO
  47. ╥┼╓┼┴╠ THE PROGRAM STRUCTURE, BUT HOW
  48. ABOUT THE STUDENT? ├AN HE LIST THE
  49. NAMES OF HIS OWN PROCESSES?
  50. ╒NFORTUNATELY NOT. ╘HAT IS WHY ╔
  51. ADDED A ╨╥╧├.╬┴═┼╙ TO THE PROGRAM
  52. THAT LISTS ONLY THE PROCEDURE HEADERS
  53. CREATED BY THE STUDENT.
  54.  
  55. ╘HE PROCEDURE IS
  56.  
  57. ╨╥╧├ NAMES ├╠╧╙┼─
  58.  START:=$0800 // OF ├╧═┴╠ PROGRAM
  59.  ╥┼╨┼┴╘ 
  60.   HILIN#:=╨┼┼╦(START)
  61.   LOLIN#:=╨┼┼╦(START+1)
  62.   LINNO:=HILIN#*256+LOLIN#
  63.   LENGTH#:=╨┼┼╦(START+2)
  64.   TOKEN#:=╨┼┼╦(START+3)
  65.   ├┴╙┼ TOKEN# ╧╞
  66.   ╫╚┼╬ 112
  67.    // FOUND PROCEDURE
  68.    LOOFF#:=╨┼┼╦(START+4)
  69.    HIOFF#:=╨┼┼╦(START+5)
  70.    NAMOFF:=HIOFF#*256+LOOFF#
  71.    FN$:=NAME$(NAMOFF)
  72.    ╔╞ LINNO>10000 ╘╚┼╬
  73.     // LINE IS NOT HIDDEN, SO
  74.     ╨╥╔╬╘ " ╨╥╧├ ",FN$
  75.    ┼╬─╔╞ 
  76.   ╫╚┼╬ 227,228,229
  77.    // FOUND FUNCTION
  78.    LOOFF#:=╨┼┼╦(START+4)
  79.    HIOFF#:=╨┼┼╦(START+5)
  80.    NAMOFF:=HIOFF#*256+LOOFF#
  81.    FN$:=NAME$(NAMOFF)
  82.    ╔╞ LINNO>10000 ╘╚┼╬
  83.     // LINE IS NOT HIDDEN, SO
  84.     ╨╥╔╬╘ " ╞╒╬├ ",FN$,
  85.     // FOLLOWED BY TYPE CHARACTER
  86.     ├┴╙┼ TOKEN# ╧╞
  87.     ╫╚┼╬ 227 //   REAL FUNC
  88.      ╨╥╔╬╘ ""
  89.     ╫╚┼╬ 228 // INTEGER FUNC
  90.      ╨╥╔╬╘ "#"
  91.     ╫╚┼╬ 2 //   STRING FUNC
  92.      ╨╥╔╬╘ "$"
  93.     ┼╬─├┴╙┼ 
  94.    ┼╬─╔╞ 
  95.   ╧╘╚┼╥╫╔╙┼ 
  96.    // FOUND SOMETHING ELSE
  97.   ┼╬─├┴╙┼ 
  98.   // NEXT ITEM IN NAME TABLE
  99.   START:+LENGTH#
  100.  ╒╬╘╔╠ LENGTH#=0  END OF TABLE
  101.  
  102.  ╞╒╬├ NAME$(AD) ├╠╧╙┼─
  103.   // AD IS OFFSET IN NAME TABLE
  104.   NAMTAB:=$18 //PNTR NAME TABLE
  105.   LONAM#:=╨┼┼╦(NAMTAB)
  106.   HINAM#:=╨┼┼╦(NAMTAB+1)
  107.   NAMSTART:=HINAM#*256+LONAM#+AD
  108.   NAMLEN#:=╨┼┼╦(NAMSTART)-4
  109.   N$:=""
  110.   ╞╧╥ T#:=1 ╘╧ NAMLEN# ─╧
  111.    N$:+├╚╥$(╨┼┼╦(NAMSTART+T#+3))
  112.   ┼╬─╞╧╥ T#
  113.   ╥┼╘╒╥╬ N$
  114.  ┼╬─╞╒╬├ NAME$
  115. ┼╬─╨╥╧├ NAMES
  116.  
  117. ╘HE PROCEDURE SCANS THE PROGRAM
  118. ITSELF, LOOKING FOR PROCEDURES (TOKEN
  119. 112) AND FUNCTIONS (TOKENS 227, 228
  120. AND 229). ╧NCE FOUND THERE IS A CHECK
  121. ON THE LINE NUMBER. ╔F IT IS HIGHER
  122. THEN 10000, THEN THE LINE IS NOT
  123. HIDDEN. ╔N THIS CASE THE FUNCTION
  124. ╬┴═┼$ IS CALLED, WHICH READS THE NAME
  125. OF THE STRUCTURE FROM THE NAME TABLE.
  126.  
  127. ╘HE SCANNING STOPS WHEN A LINE NUMBER
  128. 0 IS ENCOUNTERED. ╘HIS NUMBER IS USED
  129. AT TO AS THE PROGRAM'S END.
  130.  
  131. ╥╧─'S UNIVERSE WAS CREATED WITH THE
  132. PROCEDURE ╚╔─┼┴╫┴┘ HIDING THE
  133. UNIVERSE DESCRIPTION. ╚IDING OF LINE
  134. NUMBERS WAS SIMPLY DONE BY ADDING
  135. 10000 TO ALL LINE NUMBERS IN MEMORY.
  136.  
  137. ┬ECAUSE THE STUDENT'S PROCESSES WERE
  138. DEVELOPED AFTER THE HIDING PROCESS,
  139. ONLY HIS HEADERS ARE SHOWN.
  140.  
  141. ╧N DISK THERE IS A PROGRAM,
  142. ─┼═╧/╬┴═┼╙, ILLUSTRATING THE USE OF
  143. THE PROCEDURE ╬┴═┼╙.
  144.